The communications industry is rapidly changing to adjust to emerging technologies and ever increasing customer demand. This customer demand for new applications and increased performance of existing applications is driving communications network and system providers to employ networks and systems having greater speed and capacity (e.g., greater bandwidth). In trying to achieve these goals, a common approach taken by many communications providers is to use packet switching technology.
Border Gateway Protocol, BGP, allows the loop-free routing between autonomous systems (AS's). An AS is a set of routers under a single technical administration. Routers in an AS can use multiple Interior Gateway Protocols (IGPs) to exchange routing information inside the AS. The routers can use an exterior gateway protocol to route packets outside the AS. BGP uses Transport Control Protocol (TCP) as the transport protocol, on port 179. Two BGP routers form a TCP connection between one another and exchange network reachability information. This information is mainly an indication of the full paths that a route must take in order to reach the destination network. The paths are BGP AS numbers. This information helps in the construction of a graph of AS's that are loop-free. The graph also shows where to apply routing policies in order to enforce some restrictions on the routing behavior.
Any two routers that form a TCP connection in order to exchange BGP routing information are “peers” or “neighbors”. BGP peers initially exchange the full BGP routing tables. After this exchange, the peers send incremental updates as the routing table changes. BGP as implemented in a typical packet switching device assumes that the received routing information can be trusted, which may not always be the correct assumption and can lead to routing problems.